import { reqGetHospitalDetail } from "@/api/hospital/hospitalList";
import { ReqGetHospitalDetailResponse } from "@/api/hospital/hospitalList/types";
import { Badge, Button, Card, Descriptions } from "antd";
import React, { useEffect, useState } from "react";
import { useNavigate, useParams } from "react-router-dom";

export default function HospitalShow() {
  //获取医院的 id 信息
  let {id} = useParams();
  //返回
  let nav = useNavigate();
  //定义状态
  let [hospital, setHospital] = useState<ReqGetHospitalDetailResponse>();
  //发送请求获取医院的详情信息
  useEffect(() => {
    (async () => {
      let result = await reqGetHospitalDetail(id as string);
      //更新状态
      setHospital(result);
    })()
  }, []);

  return (
    <Card>
      <Descriptions title="基本信息" bordered>
        <Descriptions.Item label="医院名称">{hospital?.hospital.hosname}</Descriptions.Item>
        <Descriptions.Item label="医院logo" span={2}><img width={50} src={'data:image/jpeg;base64, ' + hospital?.hospital.logoData} /></Descriptions.Item>
        <Descriptions.Item label="医院编码">{hospital?.hospital.hoscode}</Descriptions.Item>
        <Descriptions.Item label="医院地址" span={2}>
          {hospital?.hospital.param.fullAddress}
        </Descriptions.Item>
        <Descriptions.Item label="坐车路线" span={3}>
          {hospital?.hospital.route}
        </Descriptions.Item>
        <Descriptions.Item label="医院介绍" span={3}>
          {hospital?.hospital.intro}
        </Descriptions.Item>
      </Descriptions>
      <div className="h-20"></div>
      <Descriptions title="预约规则信息" bordered>
        <Descriptions.Item label="预约周期">{hospital?.bookingRule.cycle}</Descriptions.Item>
        <Descriptions.Item label="放号时间" span={2}>{hospital?.bookingRule.releaseTime}</Descriptions.Item>
        <Descriptions.Item label="停挂时间">{hospital?.bookingRule.stopTime}</Descriptions.Item>
        <Descriptions.Item label="退号时间" span={2}>
          {hospital?.bookingRule.quitTime}
        </Descriptions.Item>
        <Descriptions.Item label="预约规则" span={3}>
          {hospital?.bookingRule.rule}
        </Descriptions.Item>
      </Descriptions>
      <div className="h-20"></div>
      <Button onClick={() => nav(-1)}>返回</Button>
    </Card>
  );
}
